iT邦幫忙

2023 iThome 鐵人賽

DAY 6
0
Odoo

Odoo16 入門介紹系列 第 6

Day6_odoo_基本View

  • 分享至 

  • xImage
  •  

View

記得我們如果想要看的畫面的話,一定要在__manifest__.py中加入:

    'data': [
                .
                .
                .
    'views/library_book.xml'
    ],

○ 種類

<Form>表單

表單跟列表是最常用的欄位表示方式,通常在表單當中<header><footer>會放<button>另外<header>

還會放進度條,而通常會跟搭配來放上欄位:

<form>
    <header>
        .
        .
        .
    </header>
    <sheet>
        <group>
            <field name="name"/>
            <field name="function"/>
        </group>
    </sheet>
    <footer>
        .
        .
        .
    </footer>
</form>

<Tree>列表比較簡單,通常只會單純的在欄位做顯示:

<tree>
    <field name="name"/>
    <field name="email"/>
    <field name="phone"/>
</tree>

<Kanban>可以做為按鈕來顯示,並且樣式更多元,可以搭配CSS來使用:

<kanban>
    <field name="name" />
    <field name="supplier" />
    <field name="customer" />
    <templates>
        <t t-name="kanban-box">
            <div class="oe_kanban_card">
                <a type="open">
                    <strong>
                        <field name="name" />
                    </strong>
                </a>
                <t t-if="record.supplier_rank.raw_value or record.customer_rank.raw_value">
                    is
                    <t t-if="record.customer_rank.raw_value">
                        a customer
                    </t>
                    <t t-if="record.supplier_rank.raw_value and record.customer_rank.raw_value">
                        and
                    </t>
                    <t t-if="record.supplier_rank.raw_value">
                        a supplier
                    </t>
                </t>
            </div>
        </t>
    </templates>
</kanban>

<Notebook>使用標籤分頁:

<notebook>
  <page string="Tab 1">
    <field name="field1"/>
    <field name="field2"/>
    <field name="field3"/>
  </page>
  <page string="Tab 2">
    <field name="field4"/>
    <field name="field5"/>
    <field name="field6"/>
  </page>
</notebook>

<Calendar>日曆只需要加上欄位後,就可以使用:

<calendar date_start="date_assign" date_stop="date_end" color="project_id">
    <field name="name"/>
    <field name="user_id"/>
</calendar>

<Pivot>透視表示圖只需要加上欄位後,就可以使用:

<pivot>
    <field name="user_id" type="row"/>
    <field name="project_id" type="col"/>
    <field name="stage_id" type="col"/>
</pivot>

<Graph>柱狀、折線、圓餅圖只需要加上欄位後,就可以使用:

<graph type="bar">
    <field name="user_id" type="row"/>
    <field name="stage_id" type="col"/>
</graph>

<Search>搜尋視圖通常會搭配<field name="category_id" filter_domain="[]"/>來做搜尋,當然也可以直接使用
<filer>或是<group expand="0" string="Group By">

<search>
        <field name="name"/>
        <field name="category_id" filter_domain="[('category_id', 'child_of', self)]"/>
        <field name="bank_ids" widget="many2one"/>
        <filter name="suppliers" string="Suppliers" domain="[('supplier_rank', '>', 0)]"/>
        <group expand="0" string="Group By">
            <filter string="Country" name="country" context="{'group_by':'country_id'}"/>
        </group>
</search>

<Button>按鈕:

<butto type='action'>時,觸發之後會彈出base.action_partner_category_form:

<button type='action' name="%(base.action_partner_category_form)d"> string="open category"/>

<butto type='object'>時,觸發之後會調用model中的方法open_commericail_entity:

<button type="object" name="open_commercial_entity" string="Open commercial partner" class="btn-primary" />

上一篇
Day5_odoo_Security
下一篇
Day7_odoo_View的使用
系列文
Odoo16 入門介紹30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言